package com.fzj.charging.device.startup;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.annotation.Bean;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;


@Slf4j
@Component
public class InitTest implements InitializingBean {
    InitTest(){
        log.debug("InitTest构造函数在启动时被调用============>...");
    }

    @PostConstruct
    public void init() {
        log.debug("init函数在启动时被调用============>...");
        // 这里放置需要在bean初始化后立即执行的代码
    }
    @Override
    public void afterPropertiesSet() throws Exception {
        log.debug("afterPropertiesSet函数在启动时被调用============>...");
        // 这里放置需要在bean属性全部设置好后执行的代码
    }

    @EventListener(ApplicationReadyEvent.class)
    public void doSomethingAfterStartup() {
        log.debug("doSomethingAfterStartup函数在启动时被调用============>...");
        // 这里放置需要在应用准备好后执行的代码
    }
}
